package cn.lili.modules.payment.service;

import cn.hutool.core.date.DateTime;
import cn.lili.modules.payment.entity.dos.WechatBill;
import cn.lili.modules.payment.entity.dto.WechatBillSearchParams;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 微信账单业务层
 *
 * @author Bulbasaur
 * @since 2022/10/19
 **/
public interface WechatBillService extends IService<WechatBill> {

    /**
     * 微信账单分页
     *
     * @param wechatBillSearchParams 分页VO
     * @return
     */
    Page<WechatBill> wechatBillPage(WechatBillSearchParams wechatBillSearchParams);

    /**
     * 根据ID获取微信账单
     *
     * @param id ID
     * @return
     */
    WechatBill getWechatBill(String id);

    /**
     * 申请交易账单
     */
    void tradebill(DateTime dateTime);

    /**
     * 申请资金账单
     *
     * @param dateTime
     */
    void fundFlowBill(DateTime dateTime);

    /**
     * 申请分账账单
     *
     * @param dateTime
     */
    void bills(DateTime dateTime);

    /**
     * 申请二级商户资金账单
     *
     * @param dateTime
     */
    void ecommerceFundFlowBill(DateTime dateTime);

}
